export namespace Table {
    export interface Pageable {
        page_num: number;
        page_size: number;
        total: number;
    }
    export interface StateProps {
        tableData: any[];
        pageable: Pageable;
        searchParam: {
            [key: string]: any;
        };
        searchInitParam: {
            [key: string]: any;
        };
        totalParam: {
            [key: string]: any;
        };
        icon?: {
            [key: string]: any;
        };
    }
}

export namespace HandleData {
    export type MessageType = "" | "success" | "warning" | "info" | "error";
}

export namespace Theme {
    export type ThemeType = "light" | "inverted" | "dark";
    export type GreyOrWeakType = "grey" | "weak";
}

export namespace File {
    export type ImageMimeType =
        | "image/apng"
        | "image/bmp"
        | "image/gif"
        | "image/jpeg"
        | "image/pjpeg"
        | "image/png"
        | "image/svg+xml"
        | "image/tiff"
        | "image/webp"
        | "image/x-icon";

    export type ExcelMimeType = "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    export type DocumentMimeType =
        | "application/msword"
        | "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
        | "application/vnd.ms-excel"
        | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
        | "application/vnd.ms-powerpoint"
        | "application/vnd.openxmlformats-officedocument.presentationml.presentation"
        | "application/pdf";
    export type AudioMimeType =
        | "audio/mpeg"
        | "audio/ogg"
        | "audio/wav"
        | "audio/x-mpeg"
        | "video/mp4"
        | "video/x-msvideo"
        | "video/x-flv"
        | "video/x-ms-wmv"
        | "video/webm"

}
